由於 frontend 需要編譯,所以在我們想要跑 repo 裡面自帶的 example code 的時候,就至少會需要下兩個指令,才能讓 server 使用到最新的 frontend code。
事實上,我其實又有對 frontend 做細微的分割,處理 app ↔︎ component 邏輯的放在 toolgui-web/lib
,處理 app ↔︎ backend 的邏輯的部分放在 toolgui-web/app
。
就代表我們會需要這樣:
cd toolgui-web/lib
yarn
yarn build
yarn typecheck
cd ../app
yarn
yarn build
cd ../../
go run ./cmd/toolgui-demo/main.go
寫成 bash/Makefile 又不夠通用,我希望在 Windows 也可以方便的使用。
所以就選擇了只依賴於 golang 的 Taskfile。
目前 Task 就大概可以寫成這樣,
version: '3'
tasks:
asset_lib:
dir: ./toolgui-web/lib
cmds:
- yarn
- yarn build
- yarn typecheck
asset_app:
dir: ./toolgui-web/app
cmds:
- yarn
- yarn build
run_demo:
cmds:
- task: asset_lib
- task: asset_app
- go run ./cmd/toolgui-demo/main.go
只要下
task run_demo
就可以跑起 demo server。